Recently, multi-programming technologies are present that cause multiple programs to run on a single central processing unit (CPU). Specifically, an operating system (OS) has a function of dividing the processing period of the CPU. Threads are assigned to the resulting sub-periods, whereby the CPU runs the multiple threads. A program is executed in units of threads.
For example, according to a related technology, an electronic device has a normal mode and an energy-saving mode as operation modes, and switches the operation modes with consideration of the power consumed for a transition process and a recovery process to switch the operation mode (for example, refer to Japanese Laid-Open Patent Publication No. 2006-72991).
Nonetheless with the conventional technologies above, the bus becomes occupied when a thread that frequently performs data transmission to memory is executed. Here, even if a CPU receives an interrupt request and attempts to cause another CPU to execute an interrupt process, the CPU cannot cause the other CPU to execute the interrupt process until the bus is released, causing response performance to drop. Further, when a thread that frequently issues an interrupt prohibit instruction is executed, the interrupt process cannot be executed, causing the response performance to drop.